/**
 * 
 */
package org.mhz.ootw.entity;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.Immutable;

/**
 * @author Mahan
 *
 * Menu entity
 */
@Entity
@Immutable
@Table(name = "menu_hierarchy_t")
public class MenuItem implements Serializable
{
	/**  */
    private static final long serialVersionUID = 1L;

    @Id
	@Column(name = "id")
	@GeneratedValue
	private Integer mId;
	
	@Column(name = "node_id")
	private String mNodeId;
	  
	@Column(name = "node_name")
	private String mNodeName;
	
	@Column(name = "node_type")
	private String mNodeType;
	
    @Column(name = "node_parent_id")
    private String mNodeParentId;
    
    @Column(name = "node_content_location")
    private String mNodeContentLocation;    

	/**
     * @return Returns the id.
     */
    public Integer getId()
    {
        return mId;
    }

    /**
     * @param aId The id to set.
     */
    public void setId(final Integer aId)
    {
        mId = aId;
    }

    /**
     * @return Returns the nodeId.
     */
    public String getNodeId()
    {
        return mNodeId;
    }

    /**
     * @param aNodeId The nodeId to set.
     */
    public void setNodeId(final String aNodeId)
    {
        mNodeId = aNodeId;
    }

    /**
     * @return Returns the nodeName.
     */
    public String getNodeName()
    {
        return mNodeName;
    }

    /**
     * @param aNodeName The nodeName to set.
     */
    public void setNodeName(final String aNodeName)
    {
        mNodeName = aNodeName;
    }

    /**
     * @return Returns the nodeType.
     */
    public String getNodeType()
    {
        return mNodeType;
    }

    /**
     * @param aNodeType The nodeType to set.
     */
    public void setNodeType(final String aNodeType)
    {
        mNodeType = aNodeType;
    }

    /**
     * @return Returns the nodeParentId.
     */
    public String getNodeParentId()
    {
        return mNodeParentId;
    }

    /**
     * @param aNodeParentId The nodeParentId to set.
     */
    public void setNodeParentId(final String aNodeParentId)
    {
        mNodeParentId = aNodeParentId;
    }

    /**
     * @return Returns the nodeContentLocation.
     */
    public String getNodeContentLocation()
    {
        return mNodeContentLocation;
    }

    /**
     * @param aNodeContentLocation The nodeContentLocation to set.
     */
    public void setNodeContentLocation(final String aNodeContentLocation)
    {
        mNodeContentLocation = aNodeContentLocation;
    }

    /* (non-Javadoc)
     * @see java.lang.Object#toString()
     */
    @Override
    public String toString()
    {
        return "MenuItem [Id=" + mId + ", NodeId=" + mNodeId + ", NodeName="
                + mNodeName + ", NodeType=" + mNodeType + ", NodeParentId="
                + mNodeParentId + ", NodeContentLocation="
                + mNodeContentLocation + "]";
    }    
}
